package com.engine4cloud.tdf.supervision.dto.create;

import com.engine4cloud.tdf.supervision.dto.AccompliceCrimeNameDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * 矫正对象同案犯信息-请求对象
 *
 * @author wenjie
 * @date 2024-04-01 16:13:51
 */
@Data
@Schema(description = "矫正对象同案犯信息表-请求对象")
public class JzdxAccompliceCreateDTO implements Serializable {

    /**
     * 社区矫正对象编号
     */
    @Schema(description = "社区矫正对象编号")
    @NotBlank(message = "矫正对象编号不能为空")
    private String rybh;

    /**
     * 姓名
     */
    @Schema(description = "姓名", example = "张三")
    @NotBlank(message = "姓名不能为空")
    private String xm;

    /**
     * 性别
     */
    @Schema(description = "性别", example = "1")
    @NotBlank(message = "性别不能为空")
    private String xb;

    /**
     * 出生日期
     */
    @Schema(description = "出生日期", example = "2024-01-01")
    @NotNull(message = "出生日期不能为空")
    private LocalDate csrq;

    /**
     * 被判处刑罚及所在监所
     */
    @Schema(description = "被判处刑罚及所在监所", example = "****罪***监狱")
    @NotBlank(message = "被判处刑罚及所在监所不能为空")
    private String bpcxzjszjs;

    /**
     * 具体罪名
     */
    @Schema(description = "具体罪名", example = "[{\"jtzm\": \"15\"}]")
    @NotEmpty(message = "具体罪名不能为空")
    private List<AccompliceCrimeNameDTO> crimeNameList;

}